abstract class CacheInfoRepository {
  /// Returns whether or not there is an existing data file with cache info.
  Future<bool> exists();

  /// Opens the repository, or just returns true if the repo is already open.
  Future<bool> open();

  /// Close the connection to the repository. If this is the last connection
  /// to the repository it will return true and the repository is truly
  /// closed. If there are still open connections it will return false;
  Future<bool> close();

  /// Deletes the cache data file including all cache data.
  Future<void> deleteDataFile();
}
